package org.baeta.model;

/**
 * Bean class that represents country information.
 * {"geonames":[
 * {"countryName":"Germania",
 * "currencyCode":"EUR",
 * "fipsCode":"GM",
 * "countryCode":"DE",
 * "isoNumeric":"276",
 * "capital":"Berlino",
 * "continentName":"Europa",
 * "areaInSqKm":"357021.0",
 * "languages":"de",
 * "isoAlpha3":"DEU",
 * "continent":"EU",
 * "north":55.055637,
 * "south":47.275776,
 * "east":15.039889,
 * "west":5.865639,
 * "geonameId":2921044,
 * "population":"81802257"}
 * ]}
 *
 * @author <a href="mailto:rui.baeta@gmail.com">Rui Baeta</a>
 */
public class GeoName extends AbstractBean
{
    private int geonameId;
    private int isoNumeric;
    private String isoAlpha3;
    private String countryCode;
    private String countryName;
    private String currencyCode;
    private String fipsCode;
    private String capital;
    private String continent;
    private String continentName;
    private String languages;
    private double north;
    private double south;
    private double east;
    private double west;
    private long population;
    private double areaInSqKm;

    public int getGeonameId()
    {
        return geonameId;
    }

    public void setGeonameId(int geonameId)
    {
        this.geonameId = geonameId;
    }

    public int getIsoNumeric()
    {
        return isoNumeric;
    }

    public void setIsoNumeric(int isoNumeric)
    {
        this.isoNumeric = isoNumeric;
    }

    public String getIsoAlpha3()
    {
        return isoAlpha3;
    }

    public void setIsoAlpha3(String isoAlpha3)
    {
        this.isoAlpha3 = isoAlpha3;
    }

    public String getCountryCode()
    {
        return countryCode;
    }

    public void setCountryCode(String countryCode)
    {
        this.countryCode = countryCode;
    }

    public String getCountryName()
    {
        return countryName;
    }

    public void setCountryName(String countryName)
    {
        this.countryName = countryName;
    }

    public String getCurrencyCode()
    {
        return currencyCode;
    }

    public void setCurrencyCode(String currencyCode)
    {
        this.currencyCode = currencyCode;
    }

    public String getFipsCode()
    {
        return fipsCode;
    }

    public void setFipsCode(String fipsCode)
    {
        this.fipsCode = fipsCode;
    }

    public String getCapital()
    {
        return capital;
    }

    public void setCapital(String capital)
    {
        this.capital = capital;
    }

    public String getContinent()
    {
        return continent;
    }

    public void setContinent(String continent)
    {
        this.continent = continent;
    }

    public String getContinentName()
    {
        return continentName;
    }

    public void setContinentName(String continentName)
    {
        this.continentName = continentName;
    }

    public String getLanguages()
    {
        return languages;
    }

    public void setLanguages(String languages)
    {
        this.languages = languages;
    }

    public double getNorth()
    {
        return north;
    }

    public void setNorth(double north)
    {
        this.north = north;
    }

    public double getSouth()
    {
        return south;
    }

    public void setSouth(double south)
    {
        this.south = south;
    }

    public double getEast()
    {
        return east;
    }

    public void setEast(double east)
    {
        this.east = east;
    }

    public double getWest()
    {
        return west;
    }

    public void setWest(double west)
    {
        this.west = west;
    }

    public long getPopulation()
    {
        return population;
    }

    public void setPopulation(long population)
    {
        this.population = population;
    }

    public double getAreaInSqKm()
    {
        return areaInSqKm;
    }

    public void setAreaInSqKm(double areaInSqKm)
    {
        this.areaInSqKm = areaInSqKm;
    }

    @Override
    public String toString()
    {
        return String.format("GeoName{geonameId=%d, isoNumeric=%d, isoAlpha3='%s', countryCode='%s', countryName='%s', currencyCode='%s', fipsCode='%s', capital='%s', continent='%s', continentName='%s', languages='%s', north=%s, south=%s, east=%s, west=%s, population=%d, areaInSqKm=%s}", 
                             geonameId, isoNumeric, isoAlpha3, countryCode, countryName, currencyCode, fipsCode, capital, continent, continentName, languages, north, south, east, west, population, areaInSqKm);
    }
}
